Solution stack
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In computing, a solution stack, also called software stack and tech stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications.cite-ref-cdesolution15-1-0[1] Applications are said to “run on” or “run on top of” the resulting platform.
For example, to develop a web application, the architect defines the stack as the target operating system, web server, database, and programming language. Another version of a software stack is operating system, middleware, database, and applications.cite-ref-2[2] Regularly, the components of a software stack are developed by different developers independently of one another.
A full-stack developer is expected to be able to work in all the layers of the application (front-end and back-end). A full-stack developer can be defined as a developer or an engineer who works with both the front and back end development of a website, web application or desktop application.cite-ref-6[6] This means they can lead platform builds that involve databases, user-facing websites, and working with clients during the planning phase of projects.
Contents
• See also
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
JavaScript stacks
A JavaScript stack is a collection of technologies that use JavaScript as a primary programming language across the entire software development process, typically combining front-end and back-end tools to build full-scale web applications. With the rise of Node.js, JavaScript can now be executed server-side, allowing developers to use a single language for both client and server development. This unification simplifies the development workflow, improves code reuse, and enhances productivity by enabling consistent logic and tooling across the application. JavaScript stacks are often favored for their speed, scalability, and access to a vast ecosystem of libraries and frameworks available through platforms like npm. The increasing popularity of these stacks reflects a broader shift toward full-stack JavaScript development in modern web engineering.cite-ref-7[7]cite-ref-8[8]cite-ref-9[9]cite-ref-10[10]
OS-level stacks
MLVNcite-ref-11[11]
MongoDB (database)
Linux (operating system)
Varnish (software) (frontend cache)
Node.js (JavaScript runtime)
WISAV/WIPAV
Windows Server (operating system)
Internet Information Services (web server)
Microsoft SQL Server/PostgreSQL (database)
ASP.NET (backend web framework)
Vue.js (frontend web framework)
OS-agnostic web stacks
GRANDstackcite-ref-grandstack-12-0[12]
GraphQL (data query and manipulation language)
React (web application presentation)
Apollo (Data Graph Platform)
JavaScript (programming language)
APIs (Application programming interfaces)
Markup (content)
MongoDB (database)
Express.js (application controller layer)
Node.js (JavaScript runtime)
MongoDB (database)
Express.js (application controller layer)
React.js (web application presentation)
Node.js (JavaScript runtime)
MEVNcite-ref-16[16]
MongoDB (database)
Express.js (application controller layer)
Vue.js (web application presentation)
Node.js (JavaScript runtime)
PERNcite-ref-17[17]
PostgreSQL (database)
Express.js (application controller layer)
React (JavaScript library) (web application presentation)
Node.js (JavaScript runtime)
T-RExcite-ref-18[18]
TerminusDB (scalable graph database)
React (JavaScript web framework)
Specific framework stacks
Java-Spring stack
The Java-Spring stack is a robust and enterprise-grade technology stack built around the Java programming language and the Spring ecosystem. At its core is the Spring Framework, which provides a comprehensive programming and configuration model for modern Java applications. This stack often includes Spring Boot, a project that simplifies Spring application setup with convention-over-configuration, embedded servers, and production-ready defaults. Additional components such as Spring MVC, Spring Data, and Spring Security are commonly used for building web applications, accessing databases, and implementing authentication and authorization. The Java-Spring stack is frequently paired with relational databases like MySQL or PostgreSQL and typically deployed using servlet containers like Apache Tomcat or platforms such as Spring Cloud for microservices architecture. Known for its scalability, modularity, and long-term stability, the Java-Spring stack is widely adopted in enterprise environments, particularly in finance, telecommunications, and large-scale SaaS platforms.cite-ref-19[19]cite-ref-20[20]cite-ref-21[21]
Python-Django stack
The Python-Django stack utilizes Python as the primary programming language and Django as the web framework. Django is designed to encourage clean, pragmatic design and follows the DRY (Don't Repeat Yourself) principle. It includes a wide array of built-in features, such as user authentication, an admin interface, form handling, and a powerful ORM. These built-in tools make Django especially effective for content-driven or database-heavy web applications. The stack often pairs Django with PostgreSQL or SQLite as a database and runs on web servers like Gunicorn behind Nginx. Because of Python's readability and Django's comprehensive documentation, this stack is widely used in educational platforms, scientific applications, and content management systems.cite-ref-22[22]cite-ref-23[23]
Ruby on Rails stack
The Ruby on Rails stack is built around the Ruby programming language and the Rails web framework. It emphasizes the principle of convention over configuration, which allows developers to build applications quickly by reducing the need for boilerplate code and manual setup. Ruby on Rails comes with an integrated set of tools, such as an object-relational mapping (ORM) system, scaffolding for code generation, and a structured directory layout, making it well-suited for rapid application development. Its focus on simplicity and developer happiness has made it a popular choice among startups and small teams. The stack typically includes a PostgreSQL or MySQL database, a web server like Puma or Nginx, and deployment tools such as Capistrano or Heroku.cite-ref-24[24]cite-ref-25[25]
Other stacks
OS-level stacks
BCHScite-ref-dzonsonsbchs-26-0[26]
OpenBSD (operating system)
C (programming language)
httpd (web server)
SQLite (database)
Ganeticite-ref-ganetiinstall-27-0[27]
Ganeti Web Manager (web interface)
GLASScite-ref-glynnabegin15-28-0[28]
GemStone (database and application server)
Linux (operating system)
Apache (web server)
Smalltalk (programming language)
Seaside (web framework)
Linux (operating system)
Apache (web server)
LEAPcite-ref-kaislerobtain15-29-0[29]
Linux (operating system)
Eucalyptus (free and open-source alternative to the Amazon Elastic Compute Cloud)
Python (programming language)
LEMP/LNMPcite-ref-lemphome-30-0[30]
Linux (operating system)
Nginx (web server)
LLMPcite-ref-johnstonsetting09-31-0[31]
Linux (operating system)
Lighttpd (web server)
Linux (operating system)
Erlang (functional programming language)
Mac OS X (operating system)
Apache (web server)
LAPPcite-ref-rittinghousecloud17-34-0[34]
Linux (operating system)
Apache (web server)
PostgreSQL (database management systems)
Windows (operating system)
Apache (web server)
Windows (operating system)
Internet Information Services (web server)
WINScite-ref-evgenhowto18-37-0[37]
Windows Server (operating system)
Internet Information Services (web server)
SQL Server (database)
WISAcite-ref-sachdevawhich09-38-0[38]
Windows Server (operating system)
Internet Information Services (web server)
SQL Server (database)
ASP.NET (web framework)
OS-agnostic web stacks
ELKcite-ref-chhajedlearning15-39-0[39]
Logstash (event and log management tool)
MARQScite-ref-framptoncomplete18-14-2[14]
Apache Mesos (node startup/shutdown)
Akka (toolkit) (actor implementation)
Riak (data store)
Apache Kafka (messaging)
Apache Spark (big data and MapReduce)
NMPcite-ref-lunaprog17-40-0[40]
Nginx (web server)
PHP (programming language)
NaviServer (web server)
PostgreSQL or Oracle Database (database)
Tcl (scripting language)
PLONK
Prometheus (metrics and time-series)
Linkerd (service mesh)
OpenFaaS (management and auto-scaling of compute)
NATS (asynchronous message bus/queue)
Kubernetes (declarative, extensible, scale-out, self-healing clustering)
SMACKcite-ref-framptoncomplete18-14-3[14]
Apache Spark (big data and MapReduce)
Apache Mesos (node startup/shutdown)
Akka (toolkit) (actor implementation)
Apache Cassandra (database)
cross-platform (operating system)
Apache (web server)
PHP (programming language)
Perl (programming language)
XQuery (Query language)
XForms (client)
See also
Look up
stack
in Wiktionary, the free dictionary.
References
cite-note-cdesolution15-11. ↑ "Solution stack". Computer Desktop Encyclopedia. The Computer Language Company. 2015. Retrieved 5 July 2018.
cite-note-22. ↑ citerefmimoso2003Mimoso, Michael S. (24 February 2003). "Red Hat: Linux served at vertical data center dinner tables". SearchEnterpriseLinux.com. Retrieved 2009-08-09.
cite-note-bealacronym07-33. ↑ citerefbeal-v-2007Beal, V. (7 September 2007). "Acronym Guide to Web Stacks". Webopedia. Quinstreet, Inc. Retrieved 5 July 2018.
cite-note-66. ↑ citerefamirAmir, Masroor. "Full Stack Developer - Complete Roadmap | Technologies in 2023". The Geeks Bot | A Computer Science Site for geeks. Retrieved 2023-04-27.
cite-note-77. ↑ Tilkov, Stefan, and Steve Vinoski. "Node.js: Using JavaScript to Build High-Performance Network Programs." IEEE Internet Computing, vol. 14, no. 6, 2010, pp. 80–83. DOI: 10.1109/MIC.2010.145
cite-note-88. ↑ Pimentel, Jon. Full-Stack React Projects. Packt Publishing, 2018.
cite-note-99. ↑ "Node.js — About Node.js®". nodejs.org. Retrieved 2025-06-18.
cite-note-grandstack-1212. ↑ "GRANDStack". Retrieved 24 Dec 2019.
cite-note-jamstack-1313. ↑ "JAMstack". Retrieved 5 July 2018.
cite-note-1717. ↑ "Learn the PERN Stack by building a web app - Full video course". freeCodeCamp.org. 2020-03-20. Retrieved 2021-06-19.
cite-note-1818. ↑ "TerminusDB on Twitter". Twitter. Retrieved 2020-10-14.
cite-note-1919. ↑ Walls, Craig. Spring in Action. Manning Publications, 2022.
cite-note-2222. ↑ Holovaty, Adrian, and Jacob Kaplan-Moss. The Django Book. Version 2.0.
cite-note-2323. ↑ "Django". Django Project. Retrieved 2025-06-18.
cite-note-2424. ↑ citerefhinze2008Hinze, Annika (July 2008). "Review of "RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) by Michael Hartl, Aurelius Prochazka", Addison-Wesley Professional, 2007, $44.99, ISBN 0321480791". Queue. 6 (4): 53–53. doi:10.1145/1413254.1413266. ISSN 1542-7730.
cite-note-2525. ↑ "Ruby on Rails Guides". Ruby on Rails Guides. Retrieved 2025-06-18.
cite-note-dzonsonsbchs-2626. ↑ citerefdzonsons-kDzonsons, K. "BCHS Stack". Retrieved 5 July 2018.
cite-note-ganetiinstall-2727. ↑ "Ganeti installation tutorial". Ganeti Documentation. Google, Inc. Retrieved 5 July 2018.
cite-note-glynnabegin15-2828. ↑ citerefglynn-a-2015Glynn, A. (3 June 2015). "A Beginners' Guide to Installing and Configuring GLASS: Gemstone 64/S Smalltalk / Seaside / Application Server / Object Database Server Environment". Horizons of Identity. Retrieved 5 July 2018.
cite-note-lemphome-3030. ↑ "LEMP Stack Info". LEMP.io. Retrieved 6 July 2018.
cite-note-johnstonsetting09-3131. ↑ citerefjohnston-c-2009Johnston, C. (18 February 2009). "Setting up a LLMP Stack (Linux, Lighttpd, MySQL, PHP5) on Ubuntu 8.10". ChrisJohnston.org. Archived from the original on 5 February 2019. Retrieved 6 July 2018.
cite-note-samkoughsolution16-3232. ↑ "Solution Stack". Idiosyncratic Knowledge. 9 July 2016. Retrieved 9 July 2016.
cite-note-coucouvanisgetyour07-3333. ↑ citerefcoucouvanis-n-2007Coucouvanis, N. (2007). "Get Your Wiki On". Mac Life (5): 83–86. Retrieved 6 July 2018.
cite-note-ampps-wamp-3535. ↑ "WAMP". Softaculous Ltd. Retrieved 6 July 2018.
cite-note-awstutorialwimp-3636. ↑ "Tutorial: Installing a WIMP Server on an Amazon EC2 Instance Running Windows Server". AWS Documentation. Amazon Web Services, Inc. Retrieved 6 July 2018.
cite-note-evgenhowto18-3737. ↑ citerefevgen2018Evgen (28 January 2018). "How to Choose Your Technology Stack for Web Development". GBKSOFT Blog. GBKSOFT Dev LLC. Retrieved 6 July 2018.
cite-note-sachdevawhich09-3838. ↑ citerefsachdeva-b-2009Sachdeva, B. (27 May 2009). "Which Web Application Stack Is Best for Me?". developer.com. QuinStreet, Inc. Retrieved 6 July 2018.
cite-note-lunaprog17-4040. ↑ citerefluna-f-2017Luna, F. (2017). Programador Web Full Stack: Desarrollo frontend y backend. RedUSERS. pp. 17–18.
cite-note-openacswhatis-4141. ↑ "OpenACS: What it is and why to use it". OpenACS.org. OpenACS Community. Retrieved 6 July 2018.
cite-note-afxampp-4242. ↑ "XAMPP Apache + MariaDB + PHP + Perl". Apache Friends. Retrieved 6 July 2018.
cite-note-mccrearyxrx-4343. ↑ citerefmccreary-dMcCreary, D. "XRX". danmccreary.com. Retrieved 6 July 2018.